package com.sgu6.sgu6_machine.network;


import com.sgu6.sgu6_machine.dto.ElectricityDto;
import com.sgu6.sgu6_machine.dto.ElectricityParams;
import com.sgu6.sgu6_machine.dto.ListGoodsSimpleDto;
import com.sgu6.sgu6_machine.dto.ApiErrorDto;
import com.sgu6.sgu6_machine.dto.BannerDto;
import com.sgu6.sgu6_machine.dto.BarnStockParamsDto;
import com.sgu6.sgu6_machine.dto.MachineMakeRecordDto;
import com.sgu6.sgu6_machine.dto.MakeRecordDto;
import com.sgu6.sgu6_machine.dto.MemberCardInfoDto;
import com.sgu6.sgu6_machine.dto.MemberCardPayParamsDto;
import com.sgu6.sgu6_machine.dto.PayDto;

import java.util.List;

import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.PUT;
import retrofit2.http.Path;
import retrofit2.http.Query;

public interface ApiService {

    @GET("/machine/bannerInfo/{machineId}")
    Call<List<BannerDto>> getBanners(@Path("machineId") String machineId);

    @GET("/goods/goodsResult/{machineId}")
    Call<List<ListGoodsSimpleDto>> getGoodsByMachineId(@Path("machineId") String machineId);

//    @GET("/goods/machine/{machineId}")
//    Call<List<GoodsSimpleDto>> getGoods(@Path("machineId") String machineId);

    @PUT("/order/memberCardPay")
    Call<ApiErrorDto> payByMemberCard(@Body MemberCardPayParamsDto memberCardPayParamsDto);

    @POST("/order/memberCardWaterPay")
    Call<ApiErrorDto> memberCardWaterPay(@Body MemberCardPayParamsDto memberCardPayParamsDto);

    @GET("/memberCard/membCardInfo/{cardCode}")
    Call<MemberCardInfoDto> getMemberCardByCardCode(@Path("cardCode") String cardCode);

    @PUT("/barn/stock")
    Call<ApiErrorDto> alterBarnStock(@Body BarnStockParamsDto barnStockParamsDto);

    //上传后台碾米纪录
    @POST("/machine/record/make")
    Call<MachineMakeRecordDto> postBackMakeRecord(@Body MakeRecordDto makeRecordDto);

    //上传使用电量
    @POST("/electricity")
    Call<ElectricityDto> postElectricity(@Body ElectricityParams params);

    @GET("/bank/pay")
    Call<PayDto> getPayUrl(@Query("params") String params);

}
